package com.iacrqq.sedaf.event;

import com.iacrqq.sedaf.common.Destroyable;
import com.iacrqq.sedaf.common.Initializable;
import com.iacrqq.sedaf.common.Nameable;
import com.iacrqq.sedaf.stage.Stage;

/**
 * 
 * @author sihai
 *
 */
public interface EventDispatcher extends Nameable, Initializable, Destroyable{
	
	/**
	 * 
	 * @param state
	 */
	void registerRouterEntry(int state, Stage stage);
	
	/**
	 * 
	 * @param event
	 */
	void dispatch(Event event);
	
	/**
	 * 
	 * @param event
	 */
	void dispatch(Event[] event);
}
